package com.gewu.pm.ui.activity.filter.bean;

import java.util.Map;

/**
 * 筛选结果数据类
 * 
 * 用于封装筛选结果，配合EventBean使用
 * 
 * 使用方式：
 * 1. 发送事件：EventBusUtil.post(EventCode.FILTER_RESULT, new FilterResultBean(pageName, data))
 * 2. 接收事件：重写 receiveEvent(EventBean event) 方法
 * 
 * @author AI Assistant
 * @since 1.0
 */
public class FilterResultBean {
    
    /**
     * 页面名称（Activity的简单类名）
     * 用于区分不同的筛选页面
     */
    private String pageName;
    
    /**
     * 筛选数据，key-value格式
     */
    private Map<String, Object> data;
    
    public FilterResultBean(String pageName, Map<String, Object> data) {
        this.pageName = pageName;
        this.data = data;
    }
    
    public String getPageName() {
        return pageName;
    }
    
    public void setPageName(String pageName) {
        this.pageName = pageName;
    }
    
    public Map<String, Object> getData() {
        return data;
    }
    
    public void setData(Map<String, Object> data) {
        this.data = data;
    }
    
    /**
     * 获取字符串类型的数据
     */
    public String getString(String key) {
        Object value = data.get(key);
        return value != null ? value.toString() : null;
    }
    
    /**
     * 获取字符串类型的数据（带默认值）
     */
    public String getString(String key, String defaultValue) {
        Object value = data.get(key);
        return value != null ? value.toString() : defaultValue;
    }
    
    /**
     * 判断是否包含指定的key
     */
    public boolean containsKey(String key) {
        return data.containsKey(key);
    }
    
    /**
     * 判断数据是否为空
     */
    public boolean isEmpty() {
        return data == null || data.isEmpty();
    }
    
    /**
     * 获取数据数量
     */
    public int size() {
        return data != null ? data.size() : 0;
    }
    
    @Override
    public String toString() {
        return "FilterResultBean{" +
                "pageName='" + pageName + '\'' +
                ", dataSize=" + (data != null ? data.size() : 0) +
                ", data=" + data +
                '}';
    }
}
